/**
 * @description 正则表达式
 */
export const RegExps = {
	/**
	 * UUID
	 */
	UUID: /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i,
	/**
	 * 手机号
	 */
	Mobile: /^(?:(?:\+|00)86)?1\d{10}$/,
	/**
	 * 电话
	 */
	Phone: /^(?:(?:\d{3}-)?\d{8}|(?:\d{4}-)?\d{7,8})(?:-\d+)?$/,
	/**
	 * 邮箱
	 */
	Email: /^[\w-]+@([a-zA-Z0-9]+\.)+(com|cn|net|org)$/,
	/**
	 * 身份证
	 */
	IdCard: /(^[1-9]\d{5}(18|19|([23]\d))\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}[0-9X]$)|(^[1-9]\d{7}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{2}[0-9X]$)/i,
	/**
	 * 外部链接
	 * 匹配http、https、mailto、tel和ftp开头的链接
	 */
	External: /^(https?:|mailto:|tel:|ftp:)/,
	/**
	 * Url
	 */
	Url: /^(https?|ftp):\/\/([a-zA-Z0-9.-]+(:[a-zA-Z0-9.&%$-]+)*@)*((25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d?)(\.(25[0-5]|2[0-4]\d|1\d{2}|[1-9]?\d)){3}|([a-zA-Z0-9-]+\.)*[a-zA-Z0-9-]+\.(com|edu|gov|int|mil|net|org|biz|arpa|info|name|pro|aero|coop|museum|[a-zA-Z]{2}))(:\d+)*(\/($|[\w.,?'\\+&%$#=~-]+))*$/,
	/**
	 * 车牌号
	 */
	CarNumber: /^[京津冀晋蒙辽吉黑沪苏浙皖闽赣鲁豫鄂湘粤桂琼渝川贵云藏陕甘青宁新军使领][A-HJ-Z][A-HJ-NP-Z0-9]{4}[A-HJ-NP-Z0-9挂学警港澳]$/,
	/**
	 * 新能源车牌号
	 */
	NewEnergyCarNumber:
		/^[京津冀晋蒙辽吉黑沪苏浙皖闽赣鲁豫鄂湘粤桂琼渝川贵云藏陕甘青宁新军使领][A-HJ-Z]((\d{5}[DF]$)|([A-E][A-HJ-NP-Z0-9]\d{3}[0-9挂学警港澳]$)|([FGHJK][A-HJ-NP-Z0-9]\d{3}[0-9挂学警港澳]$))/,
	/**
	 * 邮政编码
	 */
	PostCode: /^[1-9]\d{5}$/,
	/**
	 * ipv4
	 */
	Ipv4: /^([01]?\d{1,2}|2[0-4]\d|25[0-5])\.([01]?\d{1,2}|2[0-4]\d|25[0-5])\.([01]?\d{1,2}|2[0-4]\d|25[0-5])\.([01]?\d{1,2}|2[0-4]\d|25[0-5])$/,
	/**
	 * 护照
	 */
	Passport: /^[EG]\d{8}$/i,
	/**
	 * 港澳通行证
	 */
	HKMacauPass: /^[HM]\d{8}$/i,
	/**
	 * 账号（6-20位字母或数字，必须以字母开头，不能全为数字）
	 */
	Account: /^[a-z][a-z\d]{5,19}$/i,
	/**
	 * 弱密码（只包含字母和数字，长度为6到18位）
	 */
	Password: /^[A-Z0-9]{6,18}$/i,
	/**
	 * 强密码（8到20位，包含大小写字母、数字及特殊字符）
	 */
	StrongPassword: /^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[\W_])[\s\S]{8,20}$/,
	/**
	 * 中文字符
	 */
	Chinese: /^[\u4E00-\u9FA5]+$/,
	/**
	 * 英文字符
	 */
	English: /^[a-z]+$/i,
	/**
	 * IOS 设备
	 */
	IPhone: /iPhone|iPad/,
};
